package com.liuqi.loggers.core.rolling;

import com.liuqi.loggers.core.LifeCycle;
import com.liuqi.loggers.core.LoggerEvent;
import java.io.File;

/**
 * 日志滚动策略, 在输出到文件中的时候需要
 *
 * @author liuqi
 * @date 2024/11/5 17:05
 **/
public interface RollingPolicy extends LifeCycle {

    /**
     * 是否触发滚动策略
     *
     * @param event 日志
     * @return
     */
    boolean isTriggering(LoggerEvent event);

    /**
     * 根据实施策略滚动日志文件
     *
     * @throws RolloverFailure
     */
    void rollover(File activeFile) throws RolloverFailure;

}
